ASP.Net Identity Framework হলো একটি আধুনিক এবং শক্তিশালী সিকিউরিটি ফ্রেমওয়ার্ক, যা ASP.Net এবং ASP.Net Core অ্যাপ্লিকেশনগুলোর জন্য ইউজার অথেন্টিকেশন এবং অথোরাইজেশন পরিচালনা করতে ব্যবহৃত হয়। এটি ইউজারদের রেজিস্ট্রেশন, লগইন, পাসওয়ার্ড ম্যানেজমেন্ট, রোল এবং পারমিশন কন্ট্রোল, টোকেন বেসড অথেন্টিকেশন, এবং অন্যান্য নিরাপত্তা সম্পর্কিত কার্যাবলী সমর্থন করে।
ASP.Net Identity ফ্রেমওয়ার্ক প্রাথমিকভাবে ইউজার-ভিত্তিক অথেন্টিকেশন ও অথোরাইজেশন ব্যবস্থা তৈরি করার জন্য ডিজাইন করা হয়েছে এবং এটি একাধিক অথেন্টিকেশন মেকানিজমের মাধ্যমে ইউজারের সিকিউরিটি নিশ্চিত করে।
ASP.Net Identity ফ্রেমওয়ার্কে কিছু গুরুত্বপূর্ণ বৈশিষ্ট্য রয়েছে, যা ডেভেলপারদের ইউজার ম্যানেজমেন্ট এবং সিকিউরিটি ফিচারগুলিকে সহজ করে তোলে। এই বৈশিষ্ট্যগুলো অন্তর্ভুক্ত:
ASP.Net Identity ফ্রেমওয়ার্ক ইনস্টল করা এবং কনফিগার করা বেশ সোজা। আপনি যদি ASP.Net Core ব্যবহার করছেন, তবে নিম্নলিখিত পদক্ষেপগুলো অনুসরণ করতে হবে:
NuGet প্যাকেজ ইনস্টল করা
ASP.Net Identity ফ্রেমওয়ার্ক ব্যবহার করতে NuGet প্যাকেজের মাধ্যমে Microsoft.AspNetCore.Identity ইনস্টল করতে হবে।
Package Manager Console ব্যবহার করে:
Install-Package Microsoft.AspNetCore.Identity.EntityFrameworkCore
অথবা .NET CLI ব্যবহার করে:
dotnet add package Microsoft.AspNetCore.Identity.EntityFrameworkCore
DbContext কনফিগারেশন
ASP.Net Identity একটি DbContext
ক্লাসের মাধ্যমে ইউজার এবং রোল ডেটা সংরক্ষণ করে। এটি সাধারণত ApplicationDbContext হিসেবে পরিচিত থাকে। এই DbContext ক্লাসটি IdentityDbContext থেকে ইনহেরিট করে।
উদাহরণ:
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
}
এখানে, ApplicationUser হলো একটি কাস্টম ইউজার ক্লাস যা IdentityUser থেকে ইনহেরিট করে, যেখানে ইউজারের জন্য অতিরিক্ত প্রপার্টি যোগ করা যেতে পারে।
স্টার্টআপ কনফিগারেশন
Startup.cs
ফাইলে Identity সেবা কনফিগার করতে হবে:
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddIdentity<ApplicationUser, IdentityRole>()
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
}
এখানে, AddIdentity<ApplicationUser, IdentityRole>
Identity সার্ভিস কনফিগার করে এবং AddEntityFrameworkStores<ApplicationDbContext>
ডেটাবেস সংযোগ স্থাপন করে।
ASP.Net Identity ফ্রেমওয়ার্কের মাধ্যমে ইউজার লগইন এবং রেজিস্ট্রেশন সিস্টেম তৈরি করতে নিম্নলিখিত প্রক্রিয়া অনুসরণ করতে হবে:
ইউজার রেজিস্ট্রেশন ইউজার রেজিস্ট্রেশন প্রক্রিয়াটি সাধারণত একটি ফর্মের মাধ্যমে শুরু হয়, যেখানে ইউজার তার নাম, ইমেইল, পাসওয়ার্ড ইত্যাদি প্রদান করে। UserManager
ব্যবহার করে রেজিস্ট্রেশন সম্পন্ন করা হয়।
উদাহরণ:
var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
var result = await _userManager.CreateAsync(user, model.Password);
ইউজার লগইন ইউজার লগইন প্রক্রিয়া পরিচালনার জন্য SignInManager ব্যবহার করা হয়।
উদাহরণ:
var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, false);
ASP.Net Identity ফ্রেমওয়ার্ক একটি শক্তিশালী অথেন্টিকেশন এবং অথোরাইজেশন সিস্টেম যা ASP.Net এবং ASP.Net Core অ্যাপ্লিকেশনে নিরাপত্তা পরিচালনা করতে সাহায্য করে। এটি ইউজারের রেজিস্ট্রেশন, লগইন, পাসওয়ার্ড রিসেট, রোল ম্যানেজমেন্ট, এবং সোশ্যাল অথেন্টিকেশন সমর্থন করে। Identity ফ্রেমওয়ার্ক ASP.Net অ্যাপ্লিকেশনগুলির জন্য একটি উন্নত সিকিউরিটি সিস্টেম নিশ্চিত করে, যা ইউজার ডেটা সুরক্ষিত রাখতে সাহায্য করে।
Read more